function curry(fn,...args){
    // console.log(args)
    let len = fn.length;
    args = args || [];
    // console.log(args);
    return function(){
        // let subargs = args.slice(0);
       let subargs = args.concat([...arguments].slice(0));
      
        if(subargs.length >= len){
            return fn.apply(this,subargs);
        }else{
            return curry.call(this,fn,...subargs);
        }
    }
}
function add(a,b){
    return a+b;
}
let add1 = curry(add);

console.log(add1(1)(2))

